package com.irdstudio.apicenter.gateway.comm.pack;

import com.irdstudio.apicenter.gateway.comm.MaccsPacket;
import com.irdstudio.apicenter.gateway.core.dm.AppChannelForward;
import com.irdstudio.apicenter.gateway.web.MaccsTradeDefineVo;

/**
 * 组包/解包父类
 * 		所有组包/解包程序继承此类以获取基础功能
 * @author guangming.li
 * @version 1.0
 * @date 2015-10-13
 */
public abstract class AbstracePackProcessor {

	/**
	 * 解包(将传入的数据解释成符合maccs要求的数据包)
	 * @param acf 渠道定义配置信息
	 * @param tradeDefine 交易定义信息(包括输入/输出字段定义信息)
	 * @param msg
	 * @return
	 */
	public abstract MaccsPacket getReadPackage(AppChannelForward acf,MaccsTradeDefineVo tradeDefine,String result);
	
	/**
	 * 组包(将传入的maccs数据包组成想要格式的数据包)
	 * @param acf 渠道定义配置信息
	 * @param tradeDefine 交易定义信息(包括输入/输出字段定义信息)
	 * @param inUvo
	 * @return
	 */
	public abstract String getSendPackage(AppChannelForward acf,MaccsTradeDefineVo tradeDefine,MaccsPacket inUvo);
	
	
	
}
